package com.proveedor.delegate;

import java.util.List;
import java.util.Properties;

import javax.naming.InitialContext;

import dto.MateriaPrimaDTO;
import dto.RodamientoDTO;
import entities.ListaDePrecios;

import facade.ProveedorFacade;

public class ProveedorBusinessDelegate implements ProveedorFacade{

	private ProveedorFacade proveedor;
    
    private static ProveedorBusinessDelegate instance; 
    
    private ProveedorBusinessDelegate(){
    	try {
			Properties props = new Properties();
			props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
			props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
			props.setProperty("java.naming.provider.url", "127.0.0.1:1099");      
			InitialContext ctx = new InitialContext(props);
			proveedor = (ProveedorFacade) ctx.lookup("IA-PROVEEDOR-EJBEAR/ProveedorFacadeBean/remote");
    	}catch (Exception e) {
           // throw new WebApplicationException(e,"Error al obtener la instancia del CasaCentralBean");
	    }
    }
   
    public static synchronized ProveedorBusinessDelegate getInstance() {
        if(instance==null){
                 instance = new ProveedorBusinessDelegate();
        }
        return instance;
    }

	@Override
	public void crearRodamiento(RodamientoDTO rodamientoDTO) {
		proveedor.crearRodamiento(rodamientoDTO);
	}

	@Override
	public List<MateriaPrimaDTO> getListaMateriasPrima() {
		return proveedor.getListaMateriasPrima();
	}

	@Override
	public ListaDePrecios obtenerListaDePrecios() {
		return proveedor.obtenerListaDePrecios();
	}

	@Override
	public void recibirOCCC(String ordencompra) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Boolean recibirMateriasPrimas(String materiasPrimasRecibidas) {
		// TODO Auto-generated method stub
		return null;
	}

}
